Últimamente he estado sumergiéndome en JSI y C y, como resultado, pude crear un pequeño paquete llamado react-native-lz4. Es una biblioteca para la compresión rápida de archivos en React Native utilizando el algoritmo LZ4 escrito en C.
Aún es experimental ya que todavía estoy puliendo el manejo de errores y ampliando su API, pero ya se puede usar (¡con precaución!)
Paquete: https://github.com/mateoguzmana/react-native-lz4
Puedes conocer más sobre LZ4 en su sitio web: https://lz4.org/
El paquete admite arquitectura nueva y antigua, y actualmente expone dos funciones principales para comprimir y descomprimir cualquier tipo de archivo.
Ejemplo básico:
import { compressFile, decompressFile } from 'react-native-lz4'; function onProgress(processedSize: number, totalSize: number) { // e.g. { processedSize: 50, totalSize: 100, progress: '50%' } console.log({ processedSize, totalSize, progress: `${Math.round((processedSize / totalSize) * 100)}%`, }); } const compressionResult = await compressFile( 'path/to/file', 'path/to/output', onProgress ); const decompressionResult = await decompressFile( 'path/to/file', 'path/to/output', onProgress ); console.log(compressionResult); // { success: true, message: 'File compressed successfully', originalSize: 100, finalSize: 50 } console.log(decompressionResult); // { success: true, message: 'File decompressed successfully', originalSize: 50, finalSize: 100 }
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3